package com.example.java.enums;

import lombok.Getter;

@Getter
public enum Season {

    // 定义枚举常量，并为它们关联自定义属性。相当于静态常量初始以赋值
    SPRING("Spring", "Warm"),

    SUMMER("Summer", "Hot"),

    AUTUMN("Autumn", "Cool"),

    WINTER("Winter", "Cold");


    // 获取枚举常量的名称
    // 枚举的属性，使用 final 关键字修饰，确保它们在枚举实例化后无法被修改
    private final String name;
    // 获取枚举常量的描述
    private final String description;


    // 枚举的构造器，用于初始化属性
    Season(String name, String description) {
        this.name = name;
        this.description = description;
    }

}

/*
在Java中，通常的静态常量（例如，public static final int SOME_CONSTANT = 42;）只能关联一个具体的值，这个值在编译时就被确定，
并且在程序的整个生命周期中都是不可变的。

然而，枚举（enum）成员可以关联多个属性值。这是因为枚举成员实际上是枚举类型的一个实例，而枚举类型可以像任何其他类一样包含属性和方法。
通过枚举的构造器，你可以为枚举成员初始化这些属性，并且可以通过枚举成员的方法来访问这些属性的值。
*/